home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-08-16 | 6.4 KB | 219 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: Content.h
- // Release Version: $ ODF 1 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef CONTENT_H
- #define CONTENT_H
-
- #ifndef FWCONTNG_H
- #include "FWContng.h"
- #endif
-
- #ifndef CELL_H
- #include "Cell.h"
- #endif
-
- #ifndef CONSTANT_H
- #include "Constant.h"
- #endif
-
- #ifndef PROXY_H
- #include "Proxy.h"
- #endif
-
- //========================================================================================
- // Forward Declarations
- //========================================================================================
-
- class CTablePart;
- class CTableProxy;
-
- //========================================================================================
- // class CTableContent
- //========================================================================================
-
- class CTableContent : public FW_CEmbeddingContent
- {
- public:
-
- FW_DECLARE_AUTO(CTableContent)
-
- friend class CTableProxysIterator;
-
- //----------------------------------------------------------------------------------------
- // Initialization/Destruction
- //
- public:
- CTableContent(Environment* ev, CTablePart* part);
- virtual ~CTableContent();
-
- //----------------------------------------------------------------------------------------
- // Inherited API
- //
- virtual void Externalize(Environment* ev,
- ODStorageUnit* storageUnit,
- FW_EStorageKinds storageKind,
- FW_CCloneInfo* cloneInfo);
- virtual FW_Boolean Internalize(Environment* ev,
- ODStorageUnit* storageUnit,
- FW_EStorageKinds storageKind,
- FW_CCloneInfo* cloneInfo);
-
- virtual FW_MProxy* IsDataOnlyOneProxy(Environment* ev) const;
-
- //----------------------------------------------------------------------------------------
- // New API
- //
- public:
- // ----- Resizing -----
- void Resize(Environment* ev,
- const CCell& cell,
- ETableLoc tl,
- const FW_CPoint& delta);
-
-
- // ----- Add/Remove proxys -----
- void AddProxy(CTableProxy* proxy);
- void RemoveProxy(CTableProxy* proxy);
-
- // ----- Getters/setters -----
- const CCell& GetSize() const;
- FW_Fixed GetWidth (short c) const;
- FW_Fixed GetHeight(short r) const;
- void SetWidth (short c, FW_Fixed w);
- void SetHeight(short r, FW_Fixed h);
-
- // ----- Coordinates from cell -----
- FW_Fixed FindLeft(short col) const;
- FW_Fixed FindTop (short row) const;
- void FindRect(const CCell& cell,
- FW_CRect& rect) const;
-
- // ----- Cell -> proxy
- CTableProxy* CellToProxy(const CCell& cell) const;
-
- //----------------------------------------------------------------------------------------
- // Data Members
- //
- protected:
- CTablePart* fTablePart;
- CTableProxyCollection* fProxys;
-
- // ----- Current size in memory -----
- CCell fCells;
-
- // ----- Width and height of cells -----
- FW_Fixed fWidth[kMaxCols];
- FW_Fixed fHeight[kMaxRows];
- };
-
- //========================================================================================
- // class CTableProxysIterator
- //========================================================================================
-
- class CTableProxysIterator : public CTableProxyCollectionIterator
- {
- public:
- FW_DECLARE_AUTO(CTableProxysIterator)
-
- CTableProxysIterator(CTableContent* content) :
- CTableProxyCollectionIterator(content->fProxys){}
- ~CTableProxysIterator() {}
- };
-
- //========================================================================================
- // class CTableSelectionContent
- //========================================================================================
-
- class CTableSelectionContent : public FW_CEmbeddingContent
- {
- public:
-
- FW_DECLARE_AUTO(CTableSelectionContent)
-
- //----------------------------------------------------------------------------------------
- // Initialization/Destruction
- //
- public:
- CTableSelectionContent(Environment* ev, CTablePart* part, CTableContent* content);
- virtual ~CTableSelectionContent();
-
- //----------------------------------------------------------------------------------------
- // Inherited API
- //
- public:
- virtual FW_MProxy* IsDataOnlyOneProxy(Environment* ev) const;
-
- virtual void Externalize(Environment* ev,
- ODStorageUnit* storageUnit,
- FW_EStorageKinds storageKind,
- FW_CCloneInfo* cloneInfo);
-
- virtual FW_Boolean Internalize(Environment* ev,
- ODStorageUnit* storageUnit,
- FW_EStorageKinds storageKind,
- FW_CCloneInfo* cloneInfo);
-
- virtual void SingleEmbeddedFrameInternalized(Environment* ev,
- FW_CEmbeddingFrame* scopeFrame,
- ODPart* embeddedPart,
- ODFrame* embeddedFrame,
- ODShape* suggestedShape,
- ODTypeToken viewType);
-
- virtual ODShape* CreateDataFrameShape(Environment* ev) const;
-
- //----------------------------------------------------------------------------------------
- // New API
- //
- public:
- // ----- Getters/Setters -----
- CCell GetCell() const;
- void SetCell(const CCell& cell);
-
- CTableProxy* GetSelectedProxy(Environment* ev) const;
-
- //----------------------------------------------------------------------------------------
- // Data Members
- //
- private:
- CTableContent* fTableContent;
- CTablePart* fTablePart;
- CCell fCell;
- };
-
- //========================================================================================
- // Inlines
- //========================================================================================
-
- //----------------------------------------------------------------------------------------
- // CTableContent::GetSize
- //----------------------------------------------------------------------------------------
- inline const CCell& CTableContent::GetSize() const
- {
- return fCells;
- }
-
- //----------------------------------------------------------------------------------------
- // CTableSelectionContent::GetCell
- //----------------------------------------------------------------------------------------
- inline CCell CTableSelectionContent::GetCell() const
- {
- return fCell;
- }
-
- //----------------------------------------------------------------------------------------
- // CTableSelectionContent::SetCell
- //----------------------------------------------------------------------------------------
- inline void CTableSelectionContent::SetCell(const CCell& cell)
- {
- fCell = cell;
- }
-
-
- #endif